# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT
# RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL

# ATT:   vpdpbssd %ymm14, %ymm13, %ymm12
# INTEL: vpdpbssd ymm12, ymm13, ymm14
0xc4,0x42,0x17,0x50,0xe6

# ATT:   vpdpbssd %xmm14, %xmm13, %xmm12
# INTEL: vpdpbssd xmm12, xmm13, xmm14
0xc4,0x42,0x13,0x50,0xe6

# ATT:   vpdpbssd  268435456(%rbp,%r14,8), %ymm13, %ymm12
# INTEL: vpdpbssd ymm12, ymm13, ymmword ptr [rbp + 8*r14 + 268435456]
0xc4,0x22,0x17,0x50,0xa4,0xf5,0x00,0x00,0x00,0x10

# ATT:   vpdpbssd  291(%r8,%rax,4), %ymm13, %ymm12
# INTEL: vpdpbssd ymm12, ymm13, ymmword ptr [r8 + 4*rax + 291]
0xc4,0x42,0x17,0x50,0xa4,0x80,0x23,0x01,0x00,0x00

# ATT:   vpdpbssd  (%rip), %ymm13, %ymm12
# INTEL: vpdpbssd ymm12, ymm13, ymmword ptr [rip]
0xc4,0x62,0x17,0x50,0x25,0x00,0x00,0x00,0x00

# ATT:   vpdpbssd  -1024(,%rbp,2), %ymm13, %ymm12
# INTEL: vpdpbssd ymm12, ymm13, ymmword ptr [2*rbp - 1024]
0xc4,0x62,0x17,0x50,0x24,0x6d,0x00,0xfc,0xff,0xff

# ATT:   vpdpbssd  268435456(%rbp,%r14,8), %xmm13, %xmm12
# INTEL: vpdpbssd xmm12, xmm13, xmmword ptr [rbp + 8*r14 + 268435456]
0xc4,0x22,0x13,0x50,0xa4,0xf5,0x00,0x00,0x00,0x10

# ATT:   vpdpbssd  291(%r8,%rax,4), %xmm13, %xmm12
# INTEL: vpdpbssd xmm12, xmm13, xmmword ptr [r8 + 4*rax + 291]
0xc4,0x42,0x13,0x50,0xa4,0x80,0x23,0x01,0x00,0x00

# ATT:   vpdpbssd  (%rip), %xmm13, %xmm12
# INTEL: vpdpbssd xmm12, xmm13, xmmword ptr [rip]
0xc4,0x62,0x13,0x50,0x25,0x00,0x00,0x00,0x00

# ATT:   vpdpbssd  -512(,%rbp,2), %xmm13, %xmm12
# INTEL: vpdpbssd xmm12, xmm13, xmmword ptr [2*rbp - 512]
0xc4,0x62,0x13,0x50,0x24,0x6d,0x00,0xfe,0xff,0xff

# ATT:   vpdpbssds %ymm14, %ymm13, %ymm12
# INTEL: vpdpbssds ymm12, ymm13, ymm14
0xc4,0x42,0x17,0x51,0xe6

# ATT:   vpdpbssds %xmm14, %xmm13, %xmm12
# INTEL: vpdpbssds xmm12, xmm13, xmm14
0xc4,0x42,0x13,0x51,0xe6

# ATT:   vpdpbssds  268435456(%rbp,%r14,8), %ymm13, %ymm12
# INTEL: vpdpbssds ymm12, ymm13, ymmword ptr [rbp + 8*r14 + 268435456]
0xc4,0x22,0x17,0x51,0xa4,0xf5,0x00,0x00,0x00,0x10

# ATT:   vpdpbssds  291(%r8,%rax,4), %ymm13, %ymm12
# INTEL: vpdpbssds ymm12, ymm13, ymmword ptr [r8 + 4*rax + 291]
0xc4,0x42,0x17,0x51,0xa4,0x80,0x23,0x01,0x00,0x00

# ATT:   vpdpbssds  (%rip), %ymm13, %ymm12
# INTEL: vpdpbssds ymm12, ymm13, ymmword ptr [rip]
0xc4,0x62,0x17,0x51,0x25,0x00,0x00,0x00,0x00

# ATT:   vpdpbssds  -1024(,%rbp,2), %ymm13, %ymm12
# INTEL: vpdpbssds ymm12, ymm13, ymmword ptr [2*rbp - 1024]
0xc4,0x62,0x17,0x51,0x24,0x6d,0x00,0xfc,0xff,0xff

# ATT:   vpdpbssds  268435456(%rbp,%r14,8), %xmm13, %xmm12
# INTEL: vpdpbssds xmm12, xmm13, xmmword ptr [rbp + 8*r14 + 268435456]
0xc4,0x22,0x13,0x51,0xa4,0xf5,0x00,0x00,0x00,0x10

# ATT:   vpdpbssds  291(%r8,%rax,4), %xmm13, %xmm12
# INTEL: vpdpbssds xmm12, xmm13, xmmword ptr [r8 + 4*rax + 291]
0xc4,0x42,0x13,0x51,0xa4,0x80,0x23,0x01,0x00,0x00

# ATT:   vpdpbssds  (%rip), %xmm13, %xmm12
# INTEL: vpdpbssds xmm12, xmm13, xmmword ptr [rip]
0xc4,0x62,0x13,0x51,0x25,0x00,0x00,0x00,0x00

# ATT:   vpdpbssds  -512(,%rbp,2), %xmm13, %xmm12
# INTEL: vpdpbssds xmm12, xmm13, xmmword ptr [2*rbp - 512]
0xc4,0x62,0x13,0x51,0x24,0x6d,0x00,0xfe,0xff,0xff

# ATT:   vpdpbsud %ymm14, %ymm13, %ymm12
# INTEL: vpdpbsud ymm12, ymm13, ymm14
0xc4,0x42,0x16,0x50,0xe6

# ATT:   vpdpbsud %xmm14, %xmm13, %xmm12
# INTEL: vpdpbsud xmm12, xmm13, xmm14
0xc4,0x42,0x12,0x50,0xe6

# ATT:   vpdpbsud  268435456(%rbp,%r14,8), %ymm13, %ymm12
# INTEL: vpdpbsud ymm12, ymm13, ymmword ptr [rbp + 8*r14 + 268435456]
0xc4,0x22,0x16,0x50,0xa4,0xf5,0x00,0x00,0x00,0x10

# ATT:   vpdpbsud  291(%r8,%rax,4), %ymm13, %ymm12
# INTEL: vpdpbsud ymm12, ymm13, ymmword ptr [r8 + 4*rax + 291]
0xc4,0x42,0x16,0x50,0xa4,0x80,0x23,0x01,0x00,0x00

# ATT:   vpdpbsud  (%rip), %ymm13, %ymm12
# INTEL: vpdpbsud ymm12, ymm13, ymmword ptr [rip]
0xc4,0x62,0x16,0x50,0x25,0x00,0x00,0x00,0x00

# ATT:   vpdpbsud  -1024(,%rbp,2), %ymm13, %ymm12
# INTEL: vpdpbsud ymm12, ymm13, ymmword ptr [2*rbp - 1024]
0xc4,0x62,0x16,0x50,0x24,0x6d,0x00,0xfc,0xff,0xff

# ATT:   vpdpbsud  268435456(%rbp,%r14,8), %xmm13, %xmm12
# INTEL: vpdpbsud xmm12, xmm13, xmmword ptr [rbp + 8*r14 + 268435456]
0xc4,0x22,0x12,0x50,0xa4,0xf5,0x00,0x00,0x00,0x10

# ATT:   vpdpbsud  291(%r8,%rax,4), %xmm13, %xmm12
# INTEL: vpdpbsud xmm12, xmm13, xmmword ptr [r8 + 4*rax + 291]
0xc4,0x42,0x12,0x50,0xa4,0x80,0x23,0x01,0x00,0x00

# ATT:   vpdpbsud  (%rip), %xmm13, %xmm12
# INTEL: vpdpbsud xmm12, xmm13, xmmword ptr [rip]
0xc4,0x62,0x12,0x50,0x25,0x00,0x00,0x00,0x00

# ATT:   vpdpbsud  -512(,%rbp,2), %xmm13, %xmm12
# INTEL: vpdpbsud xmm12, xmm13, xmmword ptr [2*rbp - 512]
0xc4,0x62,0x12,0x50,0x24,0x6d,0x00,0xfe,0xff,0xff

# ATT:   vpdpbsuds %ymm14, %ymm13, %ymm12
# INTEL: vpdpbsuds ymm12, ymm13, ymm14
0xc4,0x42,0x16,0x51,0xe6

# ATT:   vpdpbsuds %xmm14, %xmm13, %xmm12
# INTEL: vpdpbsuds xmm12, xmm13, xmm14
0xc4,0x42,0x12,0x51,0xe6

# ATT:   vpdpbsuds  268435456(%rbp,%r14,8), %ymm13, %ymm12
# INTEL: vpdpbsuds ymm12, ymm13, ymmword ptr [rbp + 8*r14 + 268435456]
0xc4,0x22,0x16,0x51,0xa4,0xf5,0x00,0x00,0x00,0x10

# ATT:   vpdpbsuds  291(%r8,%rax,4), %ymm13, %ymm12
# INTEL: vpdpbsuds ymm12, ymm13, ymmword ptr [r8 + 4*rax + 291]
0xc4,0x42,0x16,0x51,0xa4,0x80,0x23,0x01,0x00,0x00

# ATT:   vpdpbsuds  (%rip), %ymm13, %ymm12
# INTEL: vpdpbsuds ymm12, ymm13, ymmword ptr [rip]
0xc4,0x62,0x16,0x51,0x25,0x00,0x00,0x00,0x00

# ATT:   vpdpbsuds  -1024(,%rbp,2), %ymm13, %ymm12
# INTEL: vpdpbsuds ymm12, ymm13, ymmword ptr [2*rbp - 1024]
0xc4,0x62,0x16,0x51,0x24,0x6d,0x00,0xfc,0xff,0xff

# ATT:   vpdpbsuds  268435456(%rbp,%r14,8), %xmm13, %xmm12
# INTEL: vpdpbsuds xmm12, xmm13, xmmword ptr [rbp + 8*r14 + 268435456]
0xc4,0x22,0x12,0x51,0xa4,0xf5,0x00,0x00,0x00,0x10

# ATT:   vpdpbsuds  291(%r8,%rax,4), %xmm13, %xmm12
# INTEL: vpdpbsuds xmm12, xmm13, xmmword ptr [r8 + 4*rax + 291]
0xc4,0x42,0x12,0x51,0xa4,0x80,0x23,0x01,0x00,0x00

# ATT:   vpdpbsuds  (%rip), %xmm13, %xmm12
# INTEL: vpdpbsuds xmm12, xmm13, xmmword ptr [rip]
0xc4,0x62,0x12,0x51,0x25,0x00,0x00,0x00,0x00

# ATT:   vpdpbsuds  -512(,%rbp,2), %xmm13, %xmm12
# INTEL: vpdpbsuds xmm12, xmm13, xmmword ptr [2*rbp - 512]
0xc4,0x62,0x12,0x51,0x24,0x6d,0x00,0xfe,0xff,0xff

# ATT:   vpdpbuud %ymm14, %ymm13, %ymm12
# INTEL: vpdpbuud ymm12, ymm13, ymm14
0xc4,0x42,0x14,0x50,0xe6

# ATT:   vpdpbuud %xmm14, %xmm13, %xmm12
# INTEL: vpdpbuud xmm12, xmm13, xmm14
0xc4,0x42,0x10,0x50,0xe6

# ATT:   vpdpbuud  268435456(%rbp,%r14,8), %ymm13, %ymm12
# INTEL: vpdpbuud ymm12, ymm13, ymmword ptr [rbp + 8*r14 + 268435456]
0xc4,0x22,0x14,0x50,0xa4,0xf5,0x00,0x00,0x00,0x10

# ATT:   vpdpbuud  291(%r8,%rax,4), %ymm13, %ymm12
# INTEL: vpdpbuud ymm12, ymm13, ymmword ptr [r8 + 4*rax + 291]
0xc4,0x42,0x14,0x50,0xa4,0x80,0x23,0x01,0x00,0x00

# ATT:   vpdpbuud  (%rip), %ymm13, %ymm12
# INTEL: vpdpbuud ymm12, ymm13, ymmword ptr [rip]
0xc4,0x62,0x14,0x50,0x25,0x00,0x00,0x00,0x00

# ATT:   vpdpbuud  -1024(,%rbp,2), %ymm13, %ymm12
# INTEL: vpdpbuud ymm12, ymm13, ymmword ptr [2*rbp - 1024]
0xc4,0x62,0x14,0x50,0x24,0x6d,0x00,0xfc,0xff,0xff

# ATT:   vpdpbuud  268435456(%rbp,%r14,8), %xmm13, %xmm12
# INTEL: vpdpbuud xmm12, xmm13, xmmword ptr [rbp + 8*r14 + 268435456]
0xc4,0x22,0x10,0x50,0xa4,0xf5,0x00,0x00,0x00,0x10

# ATT:   vpdpbuud  291(%r8,%rax,4), %xmm13, %xmm12
# INTEL: vpdpbuud xmm12, xmm13, xmmword ptr [r8 + 4*rax + 291]
0xc4,0x42,0x10,0x50,0xa4,0x80,0x23,0x01,0x00,0x00

# ATT:   vpdpbuud  (%rip), %xmm13, %xmm12
# INTEL: vpdpbuud xmm12, xmm13, xmmword ptr [rip]
0xc4,0x62,0x10,0x50,0x25,0x00,0x00,0x00,0x00

# ATT:   vpdpbuud  -512(,%rbp,2), %xmm13, %xmm12
# INTEL: vpdpbuud xmm12, xmm13, xmmword ptr [2*rbp - 512]
0xc4,0x62,0x10,0x50,0x24,0x6d,0x00,0xfe,0xff,0xff

# ATT:   vpdpbuuds %ymm14, %ymm13, %ymm12
# INTEL: vpdpbuuds ymm12, ymm13, ymm14
0xc4,0x42,0x14,0x51,0xe6

# ATT:   vpdpbuuds %xmm14, %xmm13, %xmm12
# INTEL: vpdpbuuds xmm12, xmm13, xmm14
0xc4,0x42,0x10,0x51,0xe6

# ATT:   vpdpbuuds  268435456(%rbp,%r14,8), %ymm13, %ymm12
# INTEL: vpdpbuuds ymm12, ymm13, ymmword ptr [rbp + 8*r14 + 268435456]
0xc4,0x22,0x14,0x51,0xa4,0xf5,0x00,0x00,0x00,0x10

# ATT:   vpdpbuuds  291(%r8,%rax,4), %ymm13, %ymm12
# INTEL: vpdpbuuds ymm12, ymm13, ymmword ptr [r8 + 4*rax + 291]
0xc4,0x42,0x14,0x51,0xa4,0x80,0x23,0x01,0x00,0x00

# ATT:   vpdpbuuds  (%rip), %ymm13, %ymm12
# INTEL: vpdpbuuds ymm12, ymm13, ymmword ptr [rip]
0xc4,0x62,0x14,0x51,0x25,0x00,0x00,0x00,0x00

# ATT:   vpdpbuuds  -1024(,%rbp,2), %ymm13, %ymm12
# INTEL: vpdpbuuds ymm12, ymm13, ymmword ptr [2*rbp - 1024]
0xc4,0x62,0x14,0x51,0x24,0x6d,0x00,0xfc,0xff,0xff

# ATT:   vpdpbuuds  268435456(%rbp,%r14,8), %xmm13, %xmm12
# INTEL: vpdpbuuds xmm12, xmm13, xmmword ptr [rbp + 8*r14 + 268435456]
0xc4,0x22,0x10,0x51,0xa4,0xf5,0x00,0x00,0x00,0x10

# ATT:   vpdpbuuds  291(%r8,%rax,4), %xmm13, %xmm12
# INTEL: vpdpbuuds xmm12, xmm13, xmmword ptr [r8 + 4*rax + 291]
0xc4,0x42,0x10,0x51,0xa4,0x80,0x23,0x01,0x00,0x00

# ATT:   vpdpbuuds  (%rip), %xmm13, %xmm12
# INTEL: vpdpbuuds xmm12, xmm13, xmmword ptr [rip]
0xc4,0x62,0x10,0x51,0x25,0x00,0x00,0x00,0x00

# ATT:   vpdpbuuds  -512(,%rbp,2), %xmm13, %xmm12
# INTEL: vpdpbuuds xmm12, xmm13, xmmword ptr [2*rbp - 512]
0xc4,0x62,0x10,0x51,0x24,0x6d,0x00,0xfe,0xff,0xff

